// StringArray2.cpp : Defines the entry point for the console application.

#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <string.h>
#define NR 10
#define NC 15
#define RANDMAX 3
using namespace std;

void azzera(char matrice[][NC]);
void carica(char matrice[][NC]);
void sostituisci(char matrice[][NC]);
void ordina(char matrice[][NC]);
void visualizza(char matrice[][NC]);

int main()
{
	srand(time(NULL));
	char matrice[NR][NC];
	azzera(matrice);
	carica(matrice);
	sostituisci(matrice);
	visualizza(matrice);
	ordina(matrice);
	visualizza(matrice);
	system("pause");
    return 0;
}

void azzera(char matrice[][NC])
{
	for (int j = 0; j < NR; j++)
	{
		for (int i = 0; i < NC; i++)
		{
			matrice[j][i] = '_';
		}
	}
}

void carica(char matrice[][NC])
{
	for (int j = 0; j < NR; j++)
	{
		for (int i = 0; i < RANDMAX; i++)
		{
			matrice[j][0] = (char)((97 + rand() % 25));
		}
		matrice[j][RANDMAX] = '\0';
	}
}


void ordina(char matrice[][NC])
{
	char temp[NC];
	for (int j = 0; j < NR; j++)
	{
		for (int i = 0; i < NC; i++)
		{
		if ((strcmp(matrice[j], matrice[j + 1])) == -1)
		{
			strcpy_s(temp, strlen(temp), matrice[j]);
			strcpy_s(matrice[j], strlen(matrice[j]), matrice[j + 1]);
			strcpy_s(matrice[j + 1], strlen(matrice[j+1]), temp);
		}
		}
	}
}

void sostituisci(char matrice[][NC])
{
	char x[NC];
	int riga;
	printf("Inserisci la riga da sostituire");
	cin >> riga;
	printf("Inserisci la riga che va a sostituire");
	cin >> x;
	strcpy_s(matrice[riga], NC, x);
}

void visualizza(char matrice[][NC])
{
	for (int j = 0; j < NR; j++)
	{
		printf("%d: %s", j+1, matrice[j]);
		printf("\n");
	}
}